package com.sdhs.projectschedule.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.sdhs.projectschedule.domain.GcProgressMasterPlanMark;

/**
 * 项目进度控制--总体计划管理子--总体计划制定Mapper接口
 *
 * @author ww
 */
public interface GcProgressMasterPlanMarkMapper {
	
	/**
	 * 定时任务修改预警标识
	 * @param currentTimeStr
	 * @param advanceDays
	 * @return
	 */
	public int updateWarningSignsTask(@Param("currentTimeStr") String currentTimeStr, @Param("advanceDays") Long advanceDays);
	
	/**
	 * 定时任务查询需要发送预警消息的计划
	 * @param currentTimeStr
	 * @param advanceDays
	 * @return
	 */
	public List<GcProgressMasterPlanMark> selectPlanMarkTask(@Param("currentTimeStr") String currentTimeStr, @Param("advanceDays") Long advanceDays);
	
    /**
     * 查询项目进度控制--总体计划管理子--总体计划制定
     *
     * @param id 项目进度控制--总体计划管理子--总体计划制定主键
     * @return 项目进度控制--总体计划管理子--总体计划制定
     */
    public GcProgressMasterPlanMark selectGcProgressMasterPlanMarkById(Long id);

    /**
     * 查询项目进度控制--总体计划管理子--总体计划制定列表
     *
     * @param planId 项目进度控制--总体计划管理planId
     * @return 项目进度控制--总体计划管理子--总体计划制定集合
     */
    public List<GcProgressMasterPlanMark> selectGcProgressMasterPlanMarkList(String planId);
    
    public int insertGcProgressMasterPlanMark(GcProgressMasterPlanMark gcProgressMasterPlanMark);

    /**
     * 新增项目进度控制--总体计划管理子--总体计划制定
     *
     * @param gcProgressMasterPlanMark 项目进度控制--总体计划管理子--总体计划制定
     * @return 结果
     */
    public int insertGcProgressMasterPlanMarkList(List<GcProgressMasterPlanMark> gcProgressMasterPlanMark);

    /**
     * 修改项目进度控制--总体计划管理子--总体计划制定
     *
     * @param gcProgressMasterPlanMark 项目进度控制--总体计划管理子--总体计划制定
     * @return 结果
     */
    public int updateGcProgressMasterPlanMark(GcProgressMasterPlanMark gcProgressMasterPlanMark);

    /**
     * 删除项目进度控制--总体计划管理子--总体计划制定
     *
     * @param id 项目进度控制--总体计划管理子--总体计划制定主键
     * @return 结果
     */
    public int deleteGcProgressMasterPlanMarkById(Long id);

    /**
     * 删除项目进度控制--总体计划管理子--总体计划制定
     *
     * @param planId 项目进度控制--总体计划管理子--总体计划制定主键
     * @return 结果
     */
    public int deleteGcProgressMasterPlanMarkByPlanId(Long planId);

    /**
     * 批量删除项目进度控制--总体计划管理子--总体计划制定
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGcProgressMasterPlanMarkByIds(Long[] ids);
}
